Node.js இல் நிகழ்வுகளின் முக்கிய கருத்துக்கள்
கணினியில் உள்ள ஒவ்வொரு செயலும் ஒரு நிகழ்வு, ஒரு இணைப்பு உருவாக்கப்படும் போது அல்லது ஒரு கோப்பு திறக்கப்படும் போது போன்றவை.
Node.js இல் உள்ள பொருள்கள் நிகழ்வுகளைத் தூண்ட முடியும், readStream பொருள் ஒரு கோப்பைத் திறக்கும் போது மற்றும் மூடும் போது நிகழ்வுகளைத் தூண்டும்:
எடுத்துக்காட்டு
let fs = require('fs');
let rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
console.log('The file is open');
});
Node.js இல் நிகழ்வுகளுடன் தொடங்குதல்
Node.js ஒரு நிகழ்வு-இயக்கப்பட்ட கட்டமைப்பைப் பயன்படுத்துகிறது, அங்கு "உமிழ்ப்பான்கள்" என்று அழைக்கப்படும் பொருள்கள் பெயரிடப்பட்ட நிகழ்வுகளை உமிழ்கின்றன, இது செயல்பாட்டு பொருள்கள் ("கேட்பவர்கள்") அழைக்கப்படுவதற்கு காரணமாகிறது.
அடிப்படை எடுத்துக்காட்டு
// Import the events module
const EventEmitter = require('events');
// Create an event emitter instance
const myEmitter = new EventEmitter();
// Register an event listener
myEmitter.on('greet', () => {
console.log('Hello there!');
});
// Emit the event
myEmitter.emit('greet'); // Outputs: Hello there!
EventEmitter வகுப்பு
EventEmitter வகுப்பு Node.js இன் நிகழ்வு-இயக்கப்பட்ட கட்டமைப்பிற்கு அடிப்படையானது.
இது தனிப்பயன் நிகழ்வுகளை உருவாக்கவும் கையாளவும் திறனை வழங்குகிறது.
ஒரு நிகழ்வு உமிழ்ப்பானை உருவாக்குதல்
EventEmitter ஐப் பயன்படுத்த, அதன் ஒரு நிகழ்வை உருவாக்க வேண்டும்:
let events = require('events');
let eventEmitter = new events.EventEmitter();
EventEmitter பொருள்
நீங்கள் EventEmitter பொருளுடன் உங்கள் சொந்த நிகழ்வுகளுக்கு நிகழ்வு கையாளுநர்களை ஒதுக்கலாம்.
கீழே உள்ள எடுத்துக்காட்டில், ஒரு "scream" நிகழ்வு தூண்டப்படும் போது செயல்படுத்தப்படும் ஒரு செயல்பாட்டை நாங்கள் உருவாக்கியுள்ளோம்.
ஒரு நிகழ்வைத் தூண்ட, emit() முறையைப் பயன்படுத்தவும்.
எடுத்துக்காட்டு
let events = require('events');
let eventEmitter = new events.EventEmitter();
//Create an event handler:
let myEventHandler = function () {
console.log('I hear a scream!');
}
//Assign the event handler to an event:
eventEmitter.on('scream', myEventHandler);
//Fire the 'scream' event:
eventEmitter.emit('scream');
பொதுவான EventEmitter முறைகள்
1. நிகழ்வு கையாளுநர்களுக்கு வாதங்களை அனுப்புதல்
const EventEmitter = require('events');
const emitter = new EventEmitter();
// Emit event with arguments
emitter.on('userJoined', (username, userId) => {
console.log(`${username} (${userId}) has joined the chat`);
});
emitter.emit('userJoined', 'JohnDoe', 42);
// Outputs: JohnDoe (42) has joined the chat
2. நிகழ்வுகளை ஒருமுறை மட்டும் கையாளுதல்
const EventEmitter = require('events');
const emitter = new EventEmitter();
// This listener will be called only once
emitter.once('connection', () => {
console.log('First connection established');
});
emitter.emit('connection'); // This will trigger the listener
emitter.emit('connection'); // This won't trigger the listener again
3. பிழை கையாளுதல்
const EventEmitter = require('events');
const emitter = new EventEmitter();
// Always handle 'error' events
emitter.on('error', (err) => {
console.error('An error occurred:', err.message);
});
// This will trigger the error handler
emitter.emit('error', new Error('Something went wrong'));
சிறந்த நடைமுறைகள்
1. எப்போதும் பிழைகளைக் கையாளவும்
// Good practice: Always listen for 'error' events
myEmitter.on('error', (err) => {
console.error('Error in event emitter:', err);
});
2. சிறந்த ஸ்டாக் டிரேஸ்களுக்கு பெயரிடப்பட்ட செயல்பாடுகளைப் பயன்படுத்தவும்
// Instead of anonymous functions
function handleData(data) {
console.log('Received data:', data);
}
myEmitter.on('data', handleData);
3. கேட்பவர்களை சுத்தம் செய்யுங்கள்
// Add a listener
const listener = () => console.log('Event occurred');
myEmitter.on('event', listener);
// Later, remove the listener when no longer needed
myEmitter.off('event', listener);
நிகழ்வு உமிழ்ப்பான்களுக்கான உதவிக்குறிப்புகள்:
- எப்போதும் 'error' நிகழ்வுகளைக் கையாளவும்
- சிறந்த டீபக்கிங்கிற்கு பெயரிடப்பட்ட செயல்பாடுகளைப் பயன்படுத்தவும்
- நினைவகக் கசிவுகளைத் தவிர்க்க கேட்பவர்களை அகற்றவும்
- நிகழ்வு பெயர்களுக்கு சீரான பெயரிடும் மரபுகளைப் பயன்படுத்தவும்